package com.ruoyi.paper.mapper;

import java.util.List;
import com.ruoyi.paper.domain.ExamStudentPaper;
import org.apache.ibatis.annotations.Param;

/**
 * 考生答卷Mapper接口
 * 
 * @author ruoyi
 * @date 2025-04-14
 */
public interface ExamStudentPaperMapper 
{
    /**
     * 查询考生答卷
     * 
     * @param studentPaperId 考生答卷主键
     * @return 考生答卷
     */
    public ExamStudentPaper selectExamStudentPaperByStudentPaperId(String studentPaperId);

    /**
     * 查询考生答卷列表
     * 
     * @param examStudentPaper 考生答卷
     * @return 考生答卷集合
     */
    public List<ExamStudentPaper> selectExamStudentPaperList(ExamStudentPaper examStudentPaper);

    /**
     * 新增考生答卷
     * 
     * @param examStudentPaper 考生答卷
     * @return 结果
     */
    public int insertExamStudentPaper(ExamStudentPaper examStudentPaper);

    /**
     * 修改考生答卷
     * 
     * @param examStudentPaper 考生答卷
     * @return 结果
     */
    public int updateExamStudentPaper(ExamStudentPaper examStudentPaper);

    /**
     * 删除考生答卷
     * 
     * @param studentPaperId 考生答卷主键
     * @return 结果
     */
    public int deleteExamStudentPaperByStudentPaperId(String studentPaperId);

    /**
     * 批量删除考生答卷
     * 
     * @param studentPaperIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteExamStudentPaperByStudentPaperIds(String[] studentPaperIds);

    /**
     * 根据题目ID和用户ID查询学生答题记录
     * 
     * @param paperLibId 题目ID
     * @param userId 用户ID
     * @return 学生答题记录
     */
    public ExamStudentPaper selectExamStudentPaperByPaperLibIdAndUserId(@Param("paperLibId") String paperLibId, @Param("userId") String userId);

    /**
     * 根据试卷库ID查询学生试卷列表
     *
     * @param paperLibId 试卷库ID
     * @return 学生试卷列表
     */
    public List<ExamStudentPaper> selectExamStudentPaperByPaperLibId(String paperLibId);
}
